package com.tencreat.domain.mall.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tencreat.common.core.domain.BaseEntity;
import com.tencreat.common.enums.OrderStatus;
import com.tencreat.common.enums.PayType;
import com.tencreat.common.enums.ShopOrderStatus;
import com.tencreat.common.enums.UserOrderStatus;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;


/**
 * 订单对象 mall_order
 *
 * @author tencreat
 * @date 2021-08-19
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
@ExcelIgnoreUnannotated
public class MallSupplierOrderVO extends BaseEntity<MallSupplierOrderVO> {
    private static final long serialVersionUID = 1L;

    /**
     * 订单编号
     */
    @ExcelProperty(value = "订单编号",order = 1)
    @ApiModelProperty(value = "订单编号")
    private String orderSn;

    @ExcelProperty(value = "商品ID",order = 2)
    @ColumnWidth(9)
    private Long goodsId;

    @ExcelProperty(value = "商品名称",order = 3)
    private String goodsName;


    @ApiModelProperty("供应商名称")
    @ExcelProperty(order = 4,value = "供应商名称")
    private String username;

    @ApiModelProperty("商品规格")
    @ExcelProperty(order = 5,value = "商品规格")
    private String attribute;

    @ExcelProperty(value = "订单类型",order = 6)
    @ApiModelProperty(value = "订单类型")
    private String orderTypeDesc;

    @ExcelProperty(value = "数量",order = 7)
    private Integer goodsNum;

    @ExcelProperty(value = "货款",order = 8)
    @ApiModelProperty("货款")
    private BigDecimal payGoods;

    @ApiModelProperty(value = "售后状态，0是可申请，1是用户已申请，2是管理员审核通过，3是管理员退款成功，4是管理员审核拒绝，5是用户已取消")
    @ExcelProperty(value = "售后状态",order = 9)
    private String aftersaleStatusDesc;

    @ExcelProperty(value = "支付方式",order = 10)
    @ApiModelProperty(value = "支付方式")
    @TableField(exist = false)
    private String payTypeDesc;


    @ExcelProperty(value = "收件人名称", order = 11 )
    @ApiModelProperty(value = "收货人名称")
    private String consignee;

    @ExcelProperty(value = "收件人号码", order = 12)
    @ApiModelProperty(value = "收货人手机号")
    private String mobile;

    @ExcelProperty(value = "地址", order = 13)
    @ColumnWidth(25)
    @ApiModelProperty(value = "收货具体地址")
    private String address;

    @ExcelProperty(value = "订单备注",order = 14)
    @ApiModelProperty(value = "用户订单留言")
    private String message;

    @ApiModelProperty("创建时间")
    @ExcelProperty(value = "下单时间",order = 15)
    @ColumnWidth(18)
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime2;
}
